/***************************************************************************************** 
*                                     TinyRtos51 
*                                The Real-Time Kernel 
*                              Copyright(c) 2024 fanxsp
*                         SPDX-License-Identifier: APACHE-2.0
*       This software is subject to an open source license and is distributed by fanxsp,
*       pursuant to the terms of the Apache License.
******************************************************************************************/
/***************************************************************************************** 
*               TinyRtos51 配置文件 
* Author: fanxsp
* Revision: 1.00
* Date: 2023-05-03
* Revision: 1.20
* Date: 2024-04-18
* 新增reentrant函数、挂起指定任务、动态优先级的支持
******************************************************************************************/
/*  任务   */
/* OSTASKS+OSBINSEMS+OSSEMS+OSEFLAGS+OSMSGQS < 256 */
#define OSTASKS	              2       // 任务数 
#define OSMETHOD              1       // 调度模式 0-协作式 1-抢先式

/*  定时  */
#define OSBYTES_OF_DELAYS     1       // 延时计数器字节数(0,1,2) 默认为1   0-禁止延时及超时
#define OSTIMER_PRESCALAR     100     // 配置OSTimer()的预分频(0,1-255))   0,1-禁用预分频

/*  存储位置    */
#define OSLOC_LIST         idata      // List链表存储位置
#define OSLOC_TCB          idata      // TCB 任务控制块存储位置
#define OSLOC_STACKS       pdata      // 任务堆栈存储位置
#define OSLOC_BINSEM       idata      // BinSem ECB存储位置
#define OSLOC_SEM          idata      // Sem ECB存储位置
#define OSLOC_EFLAG        idata      // EFlag ECB存储位置
#define OSLOC_MSGQ         idata      // MsgQ ECB存储位置
#define OSLOC_MSGQ_BUF     xdata      // MsgQ 队列存储位置

/* reentrant 函数支持 */
#define OSENABLE_REENTRANT_SMALL  0   // 1-支持SMALL REENTRANT函数  
#define OSENABLE_REENTRANT_LARGE  0   // 1-支持LARGE REENTRANT函数

/* 任务级挂起指定的任务 */
#define OSENABLE_SUSPENDID        1   // 1-允许任务级挂起指定的任务

/* 动态优先级支持 */
#define OSENABLE_SETPRIO          1   // 1-允许在运行时改变任务优先级

/* 二进制信号量   */
#define OSBINSEMS                 0   // 二进制信号量个数 0-禁用二进制信号量

/* 信号量  */
#define OSSEMS                    0   // 信号量个数       0-禁用信号量

/* 事件标志  */
#define OSEFLAGS                  0   // 事件标志个数     0-禁用事件标志

/* 消息队列  */
#define OSMSGQS                   0   // 消息队列个数     0-禁用消息队列

/* 错误检查  */
#define OSENABLE_ERROR_CHECKING   1   // 0-禁止运行时错误检查  1-使能运行时错误检查 


